package com.loong.shop.common.backend.param;

import com.loong.common.validator.group.CommonInsert;
import com.loong.common.validator.group.CommonUpdate;
import lombok.*;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;


@Builder
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class GoodsBaseParam {
    /**
     * 商品id
     */
    @NotNull(message = "更新时商品id不能为空",groups = {CommonUpdate.class})
    private Long id;
    /**
     * 商品名称
     */
    @NotBlank(message = "新增时商品名称不能为空",groups = {CommonInsert.class})
    private String name;

    /**
     * 分类id
     */
    @NotNull(message = "新增时商品类别不能为空",groups = {CommonInsert.class})
    private Long categoryId;
    /**
     * 品牌id
     */
    @NotNull(message = "新增时品牌不能为空",groups = {CommonInsert.class})
    private Long brandId;

    /**
     * 商品描述
     */
    private String description;

    /**
     * 店铺id
     */
    @NotNull(message = "新增时店铺id不能为空",groups = {CommonInsert.class})
    private Long shopId;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 销售状态
     */
    private Integer saleStatus;

    /**
     * 包装费
     */
    private BigDecimal packingExpense;

    /**
     * 月销
     */
    private Integer monthlySale;

    /**
     * 点赞数
     */
    private Long likeNum;

    /**
     * 是否多规格
     */
    @NotNull(message = "新增时是否多规格不能为空",groups = {CommonInsert.class})
    private Boolean multipleSpecifications;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 主要图片
     */
    private String masterPic;

    /**
     * 主视频
     */
    private String masterVideo;

    /**
     * 推荐(0(false)表示默认，1(true)表示该商品为推荐商品)
     */
    private Boolean recommend;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date lastUpdateTime;

}